/**
 * @Author YuanYuan
 * @Date 2022/10/22
 * @Time 10:31
 */
import java.util.*;
public class Demo {
    public static int binInsert(int n, int m, int j, int i) {
            // write code here
            //如果使用 ^ 那么 需要移到相同的位置上
            //右移需要把右边的数字保存出来
            //然后再加回去
            int ret = n;
            //int tem = j;
            //把从右往左数j个数保存下来
            ret = ret << (32 - j);
            ret = ret >>> (32 - j);
            System.out.println(ret);
            //n右移到指定位置
            n = n >> j;
            n = n^m;
            //加回之前的数字
            n = n << j;
            n ^= ret;
            return n;
        }

    public static void main(String[] args) {
        System.out.println(binInsert(4355,4,2,7));
    }
}
